Location-based bid modifiers

ABSTRACT

Systems and methods for determining location-based bid modifier suggestions include determining a content placement cost based in part on a likelihood of a user that has entered a physical establishment completing a transaction, an average transaction amount for the establishment, and an expected return on investment (ROI). A location-based bid modifier may be determined using the computed cost and a base bid amount. In some implementations, the location-based bid modifier may also be based on a probability model that models the probability of the user visiting the establishment.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application claims the benefit of priority under 35 U.S.C. § 120 asa continuation of U.S. patent application Ser. No. 16/551,579, filedAug. 26, 2019, which claims the benefit of priority under 35 U.S.C. §120 as a continuation of U.S. patent application Ser. No. 15/282,648,filed Sep. 30, 2016, which claims the benefit of priority under 35U.S.C. § 120 as a continuation of U.S. patent application Ser. No.14/055,523, filed Oct. 16, 2013, each of which is hereby incorporated byreference herein in its entirety.

BACKGROUND

Online content may be received from various first-party or third-partysources. In general, first-party content refers to the primary onlinecontent requested or displayed by the client device. For example,first-party content may be a webpage requested by the client or astand-alone application (e.g., a video game, a chat program, etc.)running on the device. Third-party content, in contrast, refers toadditional content that may be provided in conjunction with thefirst-party content. For example, third-party content may be a publicservice announcement or advertisement that appears in conjunction with arequested webpage (e.g., a search result webpage from a search engine, awebpage that includes an online article, a webpage of a socialnetworking service, etc.) or within a stand-alone application (e.g., anadvertisement within a game). More generally, a first-party contentprovider may be any content provider that allows another contentprovider (i.e., a third-party content provider) to provide content inconjunction with that of the first-party.

SUMMARY

One implementation is a method of suggesting an auction bid modifier.The method includes receiving, at the one or more processors, dataindicative of the likelihood of a user that has entered a physicalestablishment completing a transaction. The method also includesreceiving, at the one or more processors, data indicative of an averagetransaction amount for the establishment. The method further includesreceiving, at the one or more processors, data indicative of an expectedreturn on investment (ROI) for a transaction made at the establishmentthat resulted from the placement of third-party content. The methodadditionally includes receiving, at the one or more processors, a basebid amount for a content auction. The method also includes calculating,by the one or more processors, a content placement cost associated withan average transaction for the establishment using the averagetransaction amount for the establishment, the expected ROI for atransaction, and the likelihood of a user that has entered theestablishment completing a transaction. The method yet further includesdetermining an auction bid modifier using the base bid amount and thecalculated content placement cost. The method also includes providingthe auction bid modifier for display.

Another implementation is a system for suggesting an auction bidmodifier that includes one or more processors. The one or moreprocessors are operable to receive data indicative of the likelihood ofa user that has entered a physical establishment completing atransaction. The one or more processors are also operable to receivedata indicative of an average transaction amount for the establishment.The one or more processors are further operable to receive dataindicative of an expected return on investment (ROI) for a transactionmade at the establishment that resulted from the placement ofthird-party content. The one or more processors are yet further operableto receive a base bid amount for a content auction. The one or moreprocessors are additionally operable to calculate a content placementcost associated with an average transaction for the establishment usingthe average transaction amount for the establishment, the expected ROIfor a transaction, and the likelihood of a user that has entered theestablishment completing a transaction. The one or more processors arealso operable to determine an auction bid modifier using the base bidamount and the calculated content placement cost. The one or moreprocessors are additionally operable to provide the auction bid modifierfor display.

A further implementation is a computer-readable storage medium havingmachine instructions stored therein that are executable by one or moreprocessors and cause the one or more processors to perform operations.The operations include receiving data indicative of the likelihood of auser that has entered a physical establishment completing a transaction.The operations also include receiving data indicative of an averagetransaction amount for the establishment. The operations further includereceiving data indicative of an expected return on investment (ROI) fora transaction made at the establishment that resulted from the placementof third-party content. The operations additionally include receiving abase bid amount for a content auction. The operations also includecalculating a content placement cost associated with an averagetransaction for the establishment using the average transaction amountfor the establishment, the expected ROI for a transaction, and thelikelihood of a user that has entered the establishment completing atransaction. The operations yet further include determining an auctionbid modifier using the base bid amount and the calculated contentplacement cost. The operations also include providing the auction bidmodifier for display.

These implementations are mentioned not to limit or define the scope ofthe disclosure, but to provide an example of an implementation of thedisclosure to aid in understanding thereof. Particular implementationsmay be developed to realize one or more of the following advantages.

BRIEF DESCRIPTION OF THE DRAWINGS

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features,aspects, and advantages of the disclosure will become apparent from thedescription, the drawings, and the claims, in which:

FIG. 1 is a block diagram of one implementation of a computer system;

FIG. 2 is an illustration of an electronic display showing an examplefirst-party webpage having third-party content;

FIG. 3 is an illustration of an electronic display showing first-partysearch results with third-party content;

FIG. 4 is a flow diagram of one implementation of a process forsuggesting a location-based bid modifier;

FIG. 5 is an illustration is shown of the location of a client devicerelative to that of a physical establishment, according to variousimplementations; and

FIG. 6 is an illustration of one implementation of an electronic displaypresenting a suggested bid modifier.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

According to some aspects of the present disclosure, a first-partycontent provider may allow a content selection service to determinewhich third-party content is to be provided in conjunction with thefirst-party provider's content. One or more third-party contentproviders may also use the content selection service to providethird-party content in conjunction with content from any number offirst-party providers. In some cases, the content selection service maydynamically select which third-party content is presented in conjunctionwith a first-party provider's content. For example, a first-partywebpage may display different third-party content during differentvisits to the webpage. The content selection service may determine whichthird-party content is to be provided based on any number of factors(e.g., whether the third-party content and first-party content relate tothe same topic). For example, a third-party advertisement for golf clubsmay appear on a webpage devoted to reviews of golf resorts. The contentselection service may also conduct a content auction to select thethird-party content to be provided from among the various third-partycontent providers.

In some cases, third-party content selected by a content selectionservice may be interactive. For example, the third-party content may bea playable video or audio file. In another example, the third-partycontent may be a clickable image (e.g., a hotlinked image) or hotlinkconfigured to direct a web browser to an associated webpage when theimage or hotlink is selected. In response to an interaction with thethird-party content at a client device, the content selection servicemay receive an indication of the interaction. For example, the contentselection service may receive an indication that a device clicked on athird-party image and was redirected to the third-party contentprovider's website.

A content selection service may use data indicative of interactions withthird-party content in a number of ways. The content selection servicemay allow third-party content providers to bid in an auction based onwhether a user interacts with the selected content. For example, athird-party content provider may place a bid in the auction thatcorresponds to an agreement to pay a certain amount of money if a userinteracts with the provider's content (e.g., the provider may agree topay $3 if the user clicks on the provider's content). The contentselection service may also use content interaction data to determine theperformance of the first-party provider's content. For example, usersmay be more inclined to click on third-party content on certain webpagesover others. Auction bids to place third-party content may be higher forhigh-performing websites, while the bids may be lower for low-performingwebsites.

For situations in which the systems discussed herein collect personalinformation about a user, or may make use of personal information, theuser may be provided with an opportunity to control which programs orfeatures collect such information, the types of information that may becollected (e.g., information about a user's social network, socialactions or activities, a user's preferences, a user's current location,etc.), and/or how third-party content may be selected by a contentselection service and presented to the user. Certain data, such as adevice identifier, may be anonymized in one or more ways before it isstored or used, so that personally identifiable information is removedwhen generating parameters (e.g., demographic parameters) used by thecontent selection service to select third-party content. For example, adevice identifier may be anonymized so that no personally identifiableinformation about its corresponding user can be determined from it. Inanother example, a user's geographic location may be generalized wherelocation information is obtained (such as to a city, ZIP code, or statelevel), so that a precise location of the user cannot be determined.Thus, the user may have control over how information is collected abouthim or her and used by the content selection service.

In some implementations, a content selection service may be configuredto allow a third-party content provider to create one or more campaigns,such as an advertising campaign. As part of a campaign, the third-partycontent provider may set any number of parameters that control how andwhen the third-party content provider participates in a content auction.For example, a campaign may include a bid amount on behalf of thecontent provider for use in a content auction. Other parameters mayinclude selection parameters that control when the bid amount is used(e.g., whether or not the third-party content provider participates in aparticular content auction). Selection parameters may include, but arenot limited to, a set of one or more search keywords, a topicalcategory, a geographic location of the client device on which thethird-party content will be presented, or the type of client device onwhich the third-party content will be presented.

According to various implementations, a content selection service maysuggest a bid amount to a third-party content provider that useslocation-based selection parameters in content auctions. In someimplementations, the suggested bid amount may be a bid modifier valuethat adjusts the auction bids of the provider based on the location ofthe client device. For example, the content selection service maysuggest that an advertiser bid 25% more than his or her base bid if thedevice that would receive the advertisement is located within a mile ofthe advertiser's retail establishment. In various implementations, thesuggested bid modifier value may be based on certain informationreceived by the content selection service. For example, the suggestedbid modifier may be based in part on the likelihood of a patroncompleting a transaction after entering the physical establishment ofthe content provider, the average amount of a completed transaction inthe establishment, the base bid amount used by the content provider,and/or the expected return on investment (ROI) of the content provider.In further implementations, the content selection service may generatemultiple bid modifiers based on a probability of a user visiting theestablishment of the third-party content provider. For example, thecontent selection service may generate a suggested bid modifier of +25%to an advertiser's base bid if the client device is located within onemile of the establishment, a bid modifier of +20% if the client deviceis located between one and five miles of the establishment, etc.

Referring to FIG. 1, a block diagram of a computer system 100 inaccordance with a described implementation is shown. System 100 includesa client device 102 which communicates with other computing devices viaa network 106. Client device 102 may execute a web browser or otherapplication (e.g., a video game, a messenger program, a media player, asocial networking application, etc.) to retrieve content from otherdevices over network 106. For example, client device 102 may communicatewith any number of content sources 108, 110 (e.g., a first contentsource through nth content source). Content sources 108, 110 may providewebpage data and/or other content, such as images, video, and audio, toclient device 102. Computer system 100 may also include a contentselection service 104 configured to select third-party content to beprovided to client device 102. For example, content source 108 mayprovide a first-party webpage to client device 102 that includesadditional third-party content selected by content selection service104.

Network 106 may be any form of computer network that relays informationbetween client device 102, content sources 108, 110, and contentselection service 104. For example, network 106 may include the Internetand/or other types of data networks, such as a local area network (LAN),a wide area network (WAN), a cellular network, satellite network, orother types of data networks. Network 106 may also include any number ofcomputing devices (e.g., computer, servers, routers, network switches,etc.) that are configured to receive and/or transmit data within network106. Network 106 may further include any number of hardwired and/orwireless connections. For example, client device 102 may communicatewirelessly (e.g., via WiFi, cellular, radio, etc.) with a transceiverthat is hardwired (e.g., via a fiber optic cable, a CAT5 cable, etc.) toother computing devices in network 106.

Client device 102 may be any number of different types of userelectronic devices configured to communicate via network 106 (e.g., alaptop computer, a desktop computer, a tablet computer, a smartphone, adigital video recorder, a set-top box for a television, a video gameconsole, combinations thereof, etc.). In some implementations, the typeof client device 102 may be categorized as being a mobile device, adesktop device (e.g., a device intended to remain stationary orconfigured to primarily access network 106 via a local area network), oranother category of electronic devices (e.g., tablet devices may be athird category, etc.). Client device 102 is shown to include a processor112 and a memory 114. Memory 114 may store machine instructions that,when executed by processor 112 cause processor 112 to perform one ormore of the operations described herein. Processor 112 may include oneor more microprocessors, application specific integrated circuits(ASICs), field programmable gate arrays (FPGAs), other forms ofprocessing circuitry, or combinations thereof. Memory 114 may include,but is not limited to, electronic, optical, magnetic, or any otherstorage or transmission device capable of providing processor 112 withprogram instructions. Memory 114 may include a floppy disk, CD-ROM, DVD,magnetic disk, memory chip, ROM, RAM, EEPROM, EPROM, flash memory,optical media, or any other suitable memory from which processor 112 canread instructions.

Client device 102 may include one or more user interface devices. A userinterface device may be any electronic device that conveys data to auser by generating sensory information (e.g., a visualization on adisplay, one or more sounds, etc.) and/or converts received sensoryinformation from a user into electronic signals (e.g., a keyboard, amouse, a pointing device, a touch screen display, a microphone, etc.).The one or more user interface devices may be internal to the housing ofclient device 102 (e.g., a built-in display, microphone, etc.) orexternal to the housing of client device 102 (e.g., a monitor connectedto client device 102, a speaker connected to client device 102, etc.),according to various implementations. For example, client device 102 mayinclude an electronic display 116, which displays webpages and otherdata received from content sources 108, 110 and/or content selectionservice 104. In various implementations, display 116 may be locatedinside or outside of the same housing as that of processor 112 and/ormemory 114. For example, display 116 may be an external display, such asa computer monitor, television set, or any other stand-alone form ofelectronic display. In other examples, display 116 may be integratedinto the housing of a laptop computer, mobile device, or other form ofcomputing device having an integrated display.

Content sources 108, 110 may be one or more electronic devices connectedto network 106 that provide content to devices connected to network 106.For example, content sources 108, 110 may be computer servers (e.g., FTPservers, file sharing servers, web servers, etc.) or combinations ofservers (e.g., data centers, cloud computing platforms, etc.). Contentmay include, but is not limited to, webpage data, a text file, aspreadsheet, images, search results, other forms of electronicdocuments, and applications executable by client device 102. Forexample, content source 108 may be an online search engine that providessearch result data to client device 102 in response to a search query.In another example, content source 110 may be a first-party web serverthat provides webpage data to client device 102 in response to a requestfor the webpage. Similar to client device 102, content sources 108, 110may include processors 122, 126 and memories 124, 128, respectively,that store program instructions executable by processors 122, 126. Forexample, memory 124 of content source 108 may include instructions suchas web server software, FTP serving software, and other types ofsoftware that cause content source 108 to provide content via network106.

According to various implementations, content sources 108, 110 mayprovide webpage data to client device 102 that includes one or morecontent tags (e.g., one or more scripts or other instructions includedin the webpage data). In general, a content tag may be any piece ofwebpage code associated with the action of including third-party contentwith a first-party webpage. For example, a content tag may define a sloton a webpage for third-party content, a slot for out of page third-partycontent (e.g., an interstitial slot), whether third-party content shouldbe loaded asynchronously or synchronously, whether the loading ofthird-party content should be disabled on the webpage, whetherthird-party content that loaded unsuccessfully should be refreshed, thenetwork location of a content source that provides the third-partycontent (e.g., content sources 108, 110, content selection service 104,etc.), a network location (e.g., a URL) associated with clicking on thethird-party content, how the third-party content is to be rendered on adisplay, a command that causes client device 102 to set a browser cookie(e.g., via a pixel tag that sets a cookie via an image request), one ormore keywords used to retrieve the third-party content, and otherfunctions associated with providing third-party content with afirst-party webpage. For example, content source 108 may provide webpagedata that causes client device 102 to retrieve third-party content fromcontent selection service 104. In another implementation, content may beselected by content selection service 104 and provided by content source108 as part of the first-party webpage data sent to client device 102.In a further example, content selection service 104 may cause clientdevice 102 to retrieve third-party content from a specified location,such as memory 114 or content sources 108, 110.

Content selection service 104 may also be one or more electronic devicesconnected to network 106. Content selection service 104 may be acomputer server (e.g., an FTP server, a file sharing server, a webserver, etc.) or a combination of servers (e.g., a data center, a cloudcomputing platform, etc.). Content selection service 104 may have aprocessor 118 and a memory 120 that stores program instructionsexecutable by processor 118. In various cases, processor 118 mayrepresent a single processor or a combination of processors inelectronic communication with one another. Similarly, memory 120 mayrepresent a single memory device or a combination of memory devices incommunication with processor 118.

Content selection service 104 may be configured to select third-partycontent for client device 102 (i.e., content selection service 104 mayprovide a third-party content selection service). In one implementation,the selected third-party content may be provided by content selectionservice 104 to client device 102 via network 106. For example, contentsource 110 may upload the third-party content to content selectionservice 104. Content selection service 104 may then provide thethird-party content to client device 102 to be presented in conjunctionwith first-party content provided by any of content sources 108, 110. Inother implementations, content selection service 104 may provide aninstruction to client device 102 that causes client device 102 toretrieve the selected third-party content (e.g., from memory 114 ofclient device 102, from content source 110, etc.). For example, contentselection service 104 may select third-party content to be provided aspart of a first-party webpage being visited by client device 102 orwithin a first-party application being executed by client device 102(e.g., within a game, messenger application, etc.).

In some implementations, content selection service 104 may be configuredto select content based on a device identifier associated with clientdevice 102. In general, a device identifier refers to any form of datathat may be used to represent a device or a piece of software thatreceives content selected by content selection service 104. In someimplementations, a device identifier may be associated with one or moreother device identifiers (e.g., a device identifier for a mobile device,a device identifier for a home computer, etc.). Device identifiers mayinclude, but are not limited to, cookies, device serial numbers, mobiledevice identifiers, international mobile station equipment identity(IMEI) numbers, media access control (MAC) addresses, telephone numbers,other hardware or software-based numbers, user profile data, networkaddresses, combinations thereof, and identifiers derived therefrom. Forexample, a cookie set on client device 102 may be used to identifyclient device 102 to content selection service 104 within a web browserapplication on client device 102.

Content selection service 104 may be configured to allow the user ofclient device 102 to control which information about the user iscollected and used by content selection service 104 via a deviceidentifier. In addition, to the extent that content selection service104 does collect and use information about the user, the data may beanonymized such that the user's identity cannot be determined byanalyzing the collected data. In other words, the user of client device102 may control what types of information about the user is collected bycontent selection service 104 and how the information is used. In oneimplementation, the user of client device 102 may set one or morepreferences (e.g., as part of an online profile) that control howcontent selection service 104 collects and uses information about theuser. In another implementation, content selection service 104 may set acookie or other device identifier on client device 102 that signifiesthat the user of client device 102 has elected not to allow contentselection service 104 to store information regarding him or her.

If the user of client device 102 has elected to allow content selectionservice 104 to use information regarding himself or herself, contentselection service 104 may use history data associated with a deviceidentifier to select relevant content for the corresponding user.History data may be any data associated with a device identifier that isindicative of an online event (e.g., visiting a webpage, interactingwith presented content, conducting a search, making a purchase,downloading content, etc.). Based in part on the analyzed history data,content selection service 104 may select third-party content to beprovided in conjunction with first-party content (e.g., as part of adisplayed webpage, as a pop-up, within a video game, within another typeof application, etc.). Additional data associated with a deviceidentifier may include, but is not limited to, the device type of clientdevice 102 (e.g., whether client device 102 is a desktop or mobiledevice), the location of client device 102, or a search query generatedby client device 102. For example, content selection service 104 mayselect third-party content to be provided as part of a first-partywebpage or in conjunction with search results from one of contentsources 108, 110.

Content selection service 104 may analyze the history data associatedwith a device identifier to identify one or more topics that may be ofinterest. For example, content selection service 104 may perform textand/or image analysis on a webpage from content source 108, to determineone or more topics of the webpage. In some implementations, a topic maycorrespond to a predefined interest category used by content selectionservice 104. For example, a webpage devoted to the topic of golf may beclassified under the interest category of sports. In some cases,interest categories used by content selection service 104 may conform toa taxonomy (e.g., an interest category may be classified as fallingunder a broader interest category). For example, the interest categoryof golf may be /Sports/Golf, /Sports/Individual Sports/Golf, or underany other hierarchical category. Similarly, content selection service104 may analyze the content of a first-party webpage accessed by clientdevice 102 to identify one or more topical categories for the webpage.For example, content selection service 104 may use text or imagerecognition on the webpage to determine that the webpage is devoted tothe topical category of /Sports/Golf.

Content selection service 104 may receive history data indicative of oneor more online events associated with a device identifier. Inimplementations in which a content tag causes client device 102 torequest content from content selection service 104, such a request mayinclude a device identifier for client device 102 and/or additionalinformation (e.g., the webpage being loaded, the referring webpage,etc.). For example, content selection service 104 may receive and storehistory data regarding whether or not third-party content provided toclient device 102 was selected using an interface device (e.g., the userof client device 102 clicked on a third-party hyperlink, third-partyimage, etc.). Content selection service 104 may store such data torecord a history of online events associated with a device identifier.In some cases, client device 102 may provide history data to contentselection service 104 without first executing a content tag. Forexample, client device 102 may periodically send history data to contentselection service 104 or may do so in response to receiving a commandfrom a user interface device. In some implementations, content selectionservice 104 may receive history data from content sources 108, 110. Forexample, content source 108 may store history data regarding webtransactions with client device 102 and provide the history data tocontent selection service 104.

Content selection service 104 may apply one or more weightings to aninterest or product category, to determine whether the category is to beassociated with a device identifier. For example, content selectionservice 104 may impose a maximum limit to the number of product orinterest categories associated with a device identifier. The topn-number of categories having the highest weightings may then beselected by content selection service 104 to be associated with aparticular device identifier. A category weighting may be based on, forexample, the number of webpages visited by the device identifierregarding the category, when the visits occurred, how often the topic ofthe category was mentioned on a visited webpage, or any online actionsperformed by the device identifier regarding the category. For example,topics of more recently visited webpages may receive a higher weightingthan webpages that were visited further in the past. Categories may alsobe subdivided by the time periods in which the webpage visits occurred.For example, the interest or product categories may be subdivided intolong-term, short-term, and current categories, based on when the deviceidentifier visited a webpage regarding the category.

With the user's permission, content selection service 104 may receivelocation information from client device 102. The location informationmay be determined by client device 102 itself, by content selectionservice 104, or by another device on network 106. In some cases, clientdevice 102 may include location-determining hardware, such as a globalpositioning system (GPS) receiver. In further cases, client device 102may utilize triangulation or another technique to determine its locationusing network signals received by client device 102 (e.g., cellularsignals, etc.). In some cases, client device 102, content selectionservice 104, or another device may determine the location of clientdevice 102 based on a network access point used by client device 102.For example, if client device 102 accesses network 106 via a WiFihotspot associated with a particular coffee shop, any of the devices insystem 100 may use this information to determine that the location ofclient device 102 is in or near the coffee shop. In someimplementations, a content tag of a webpage (e.g., an embedded webpagescript) may cause client device 102 to report its location to contentselection service. In further implementations, a stand-alone application(e.g., a mobile application) executed by client device 102 may reportthe location of client device 102 to content selection service 104.

If the user of client device 102 has elected to share locationinformation with content selection service 104, content selectionservice 104 may use this information to select third-party content forclient device 102. For example, content selection service 104 mayprovide an advertisement to client device 102 that alerts the user to asale at a nearby retail establishment. Thus, content selection service104 may use the location of client device 102 to select third-partycontent that may be relevant to the user's current location. After use,content selection service 104 may delete the location information or mayflag the location information as ineligible for future use (e.g.,content selection service 104 may only base the content selection on thecurrent location of the device and not on a stored history oflocations), to ensure the privacy of a user.

Content selection service 104 may be configured to conduct a contentauction among third-party content providers to determine whichthird-party content is to be provided to client device 102. For example,content selection service 104 may conduct a real-time content auction inresponse to client device 102 requesting first-party content from one ofcontent sources 108, 110 or executing a first-party application. Contentselection service 104 may use any number of factors to determine thewinner of the auction. For example, the winner of a content auction maybe based in part on the third-party provider's bid and/or a qualityscore for the third-party provider's content (e.g., a measure of howlikely the user of client device 102 is to click on the content). Inother words, the highest bidder is not necessarily the winner of acontent auction conducted by content selection service 104, in someimplementations.

Content selection service 104 may be configured to allow third-partycontent providers to specify parameters as part of an account to controlhow and when the provider participates in content auctions. An accountof a provider may include any number of bid-related parameters, such asa minimum bid amount, a maximum bid amount, a target bid amount, or oneor more budget amounts (e.g., a daily budget, a weekly budget, a totalbudget, etc.). In some cases, a bid amount may correspond to the amountthe third-party provider is willing to pay in exchange for their contentbeing presented at client device 102. In other words, the bid amount maybe on a cost per impression or cost per thousand impressions (CPM)basis. In further cases, a bid amount may correspond to a specifiedaction being performed in response to the third-party content beingpresented at a client device. For example, a bid amount may be amonetary amount that the third-party content provider is willing to pay,should their content be clicked on at the client device, therebyredirecting the client device to the provider's webpage. In other words,a bid amount may be a cost per click (CPC) bid amount. In anotherexample, the bid amount may correspond to an action being performed onthe third-party provider's website, such as the user of client device102 making a purchase. Such bids are typically referred to as being on acost per acquisition (CPA) or cost per conversion basis.

An account created via content selection service 104 may also includeselection parameters that control when a bid is placed on behalf of athird-party content provider in a content auction. If the third-partycontent is to be presented in conjunction with search results from asearch engine, for example, the selection parameters may include one ormore sets of search keywords. For example, the third-party contentprovider may only participate in content auctions in which a searchquery for “golf resorts in California” is sent to a search engine. Otherparameters that control when a bid is placed on behalf of a third-partycontent provider may include, but are not limited to, a topic identifiedusing a device identifier's history data (e.g., based on webpagesvisited by the device identifier), the topic of a webpage or otherfirst-party content with which the third-party content is to bepresented, a geographic location of the client device that will bepresenting the content, or a geographic location specified as part of asearch query. In some cases, a selection parameter may designate aspecific webpage, website, or group of websites with which thethird-party content is to be presented. For example, an advertiserselling golf equipment may specify that they wish to place anadvertisement on the sports page of an particular online newspaper.

In various implementations, content selection service 104 may beconfigured to suggest a location-based bid modifier to a third-partycontent provider. In general, a bid modifier refers to any adjustmentvalue used by content selection service 104 to adjust an auction bid ofa third-party content provider based on the location of the device towhich the provider may send content. The bid modifier may be, forexample, a percentage or dollar amount adjustment to the base auctionbid of the content provider. In some cases, content selection service104 may present a bid modifier as part of a finalized bid amount (e.g.,the service may present the modified bid amount to the provider). Forexample, content selection service 104 may suggest that a third-partyadvertiser increase his or her auction bids by 75% for devices that arelocated within a certain range to the physical store of the advertiser.In some implementations, a location-based bid modifier may be used inconjunction with another location-based auction parameter. For example,one auction parameter may control whether or not the provider evenplaces a bid in a content auction (e.g., no bid may be submitted if thesubject client device is outside of a predefined range to the provider'sestablishment), while a bid modifier value may control the submittedauction bid when the device is within the defined range. For example, anadvertiser may specify to content selection service 104 that he does notwant to advertise to users that are located more than one hundred milesoutside of San Francisco and may use a location-based bid modifier toincrease his auction bids if a given user is within one mile of theadvertiser's restaurant.

Content selection service 104 may determine a location-based bidmodifier using information received about the business of a third-partycontent provider. The received information may include, for example,data indicative of the physical location of the provider'sestablishment, the average transaction amount at the establishment, thelikelihood of a visitor to the establishment completing a transaction,and/or the expected ROI of the provider from placing advertisements. Inone implementation, content selection service 104 may calculate alocation-based bid modifier based on the following calculations:

${ROI} = {\frac{Expected\_ Revenues}{Cost} = \frac{A*p}{Cost}}$

where A is the average transaction amount for the content provider'sestablishment, p is the probability of a visitor to the establishmentcompleting a transaction, ROI is the expected ROI of the provider byplacing an advertisement, Expected_Revenues refers to the expectedtransaction amount of an average visitor to the establishment, and Costis the final cost of the advertisement to the provider. The cost of acontent placement may be defined as follows:

Cost=(1+β)Bid

where Bid is the base auction bid used by the content provider (e.g., anauction bid that the provider wishes to use when a device is outside ofa given range to the provider's establishment) and β is a location-basedbid modifier value. Thus:

${ROI} = \frac{A*p}{\left( {1 + \beta} \right){Bid}}$

which gives the following calculation for the bid modifier (β) that maybe used by content selection service 104:

$\beta = {\frac{A*p}{{ROI}*{Bid}} - 1.}$

Content selection service 104 may present the calculated bid modifier tothe third-party content provider as a suggestion (e.g., the provider mayelect or decline the use of the suggested bid modifier). In some case,the calculated bid modifier may be suggested as part of a finalized bidamount. For example, instead of suggesting that a provider increase hisor her base bid of $1 by 50%, content selection service 104 mayalternatively suggest an increased bid amount of $1.50.

In some implementations, content selection service 104 may take intoaccount the likelihood of a user visiting a physical establishment whencalculating a suggested bid modifier. For example, content selectionservice 104 may use the above calculation for the bid modifier (β) ifthere is a 100% probability of the user of client device 102 visitingthe establishment of the third-party content provider (e.g., thelocation of client device 102 corresponds to the location of theestablishment). However, as the user's location begins to differ fromthat of the establishment, the likelihood of the user visiting theestablishment may also decrease. In one implementation, contentselection service 104 may calculate one or more bid modifiers as afunction of a travel value (r) as follows:

${{BidM}(r)} = {{{P(r)}\beta} = {{P(r)}*\left\lbrack {\frac{A*p}{{ROI}*{Bid}} - 1} \right\rbrack}}$

where BidM(r) is the bid modifier as a function of a travel value r. Ingeneral, a travel value may be any value that represents spatio-temporalrelationship between the location of a client device and a physicalestablishment of a third-party content provider. In variousimplementations, the travel value may correspond to a direct distancebetween the establishment and the client device (e.g., measured as thecrow flies), a travel distance between the client device and theestablishment (e.g., the distance along a path that may be traveled bythe client device to arrive at the establishment), an estimated traveltime, or any other measure quantifying a relationship between thelocation of a client device and the location of an establishment of athird-party content provider.

Content selection service 104 may request information regarding themaximum travel value associated with the establishment of a third-partycontent provider. In other words, content selection service 104 mayprompt a third-party content provider for the maximum distance or timethat a potential customer would be willing to travel to the provider'sestablishment. For example, a potential customer of a build-it-yourselffurniture outlet may be willing to travel up to sixty miles to visit theoutlet, whereas a potential customer of a fast food restaurant may bewilling to travel ten miles at maximum.

In various implementations, content selection service 104 may determinethe probability of a user visiting the physical establishment of athird-party content provider as a decay function. For example, contentselection service 104 may model the probability of the user visiting theestablishment based on the maximum travel value specified by thethird-party content provider. In one example, content selection service104 may calculate a probability (P) of a visit as follows:

P(r)=e ^(−λr)

where r represents the travel value associated with the establishmentand λ is an unknown parameter. In other words, content selection service104 may model the probability of a visit to the location as anexponential decay function, in some implementations. To determine thevalue of λ for the model, content selection service 104 may assign aminimum probability to the specified maximum travel value. For example,assume that the probability of a user outside of the specified range of10 miles visiting the establishment is 5%. In such a case, contentselection service 104 may solve the exponential decay function at thistravel value to determine the value of λ. For example, content selectionservice may calculate the following:

P(r) = P(10) = 0.05 = e^(−λ10)$\lambda = {{- \frac{\ln (0.05)}{10}} \approx {{0.2}9957.}}$

Content selection service 104 may use the determined value of λ tocalculate the probability of a user visiting the establishment from anylocation relative to the establishment. In some implementations, contentselection service 104 may use a discrete function to model theprobability of a visit to the establishment. For example, contentselection service 104 may determine the travel values corresponding tothe 95%, 80%, 65%, 50%, 35%, 20%, and 5% probabilities of a visit anduse these to determine ranges of travel values. In one example, userslocated within one mile of the establishment may be assigned a 95%probability of visiting the establishment, users located between one andfive miles of the establishment may be assigned an 80% probability ofvisiting the establishment, etc.

Content selection service 104 may provide one or more bid modifiervalues to a device associated with a third-party content provider assuggestions. For example, content selection service 104 may suggest themaximum bid modifier given the provider's responses and adjust the bidmodifier downward for client devices located outside of a certaindistance range (e.g., devices located within one mile of the provider'sestablishment may receive the maximum adjusted auction bid). In anotherexample, content selection service 104 may present multiple bidadjustment values corresponding to different travel value ranges forreview by the third-party content provider. In one implementation,content selection service 104 may automatically assign the generated bidadjustment value to the account of the third-party content provider.

In one example, assume that a third-party content provider specifies tocontent selection service 104 that a prospective customer is typicallywilling to travel up to sixty miles to visit the provider's physicalstore. In such a case, content selection service may assign a minimumprobability of a visit to this distance. For example, content selectionservice 104 may assign a minimum probability of a visit to the store of5% if a device is located sixty or more miles from the store. Contentselection service 104 may also use these values to model the probabilityof a visit if a device is located within sixty miles of the store. Forexample, content selection service may calculate an exponential decayfunction as follows:

P(dist_(max))=e ^(−λ*dist) ^(max) =P(60)=e ^(−λ*60)°=5%

where dist_(max) is the maximum distance specified by the contentprovider and 5% is the minimum probability of a visit to the store as afunction. Solving for λ gives the following:

$\lambda = {{- \frac{\ln \left( {{0.0}5} \right)}{60}} \approx 0.499}$

Content selection service 104 may then use λ to model the probability ofa store visit by a user that is closest to the store and to calculate abid modifier BidM as a function of distance r as follows:

BidM(r)/β*P(r)=β*e ^(−λr) β*e ^(r*0.499)

where β* is the bid modifier for a device that is within the closestdistance to the store. Content selection service 104 may solve for β* asfollows:

$\beta^{*} = \left\lbrack {\frac{A*p}{{ROI}*{Bid}} - 1} \right\rbrack$

where A is the average transaction amount for the content provider'sstore, p is the probability of a visitor to the establishment completinga transaction, ROI is the expected ROI of the provider by placing anadvertisement, and Bid refers to the base bid used by the provider. Inother words, the bid modifier β* may represent the percentage increaseto the provider's base bid amount for a device that has the highestprobability of visiting the provider's store. Continuing the example,content selection service 104 may discretize the exponential decayfunction to generate discrete bid modifiers based on a device's distanceto the provider's store. For example, with a maximum distance of sixtymiles and λ=0.499 as calculated above, content selection service maycalculate the following bid modifiers:

BidM(r)=(β* if 0<r≤1

BidM(r)=0.8β* if 1<r≤4

BidM(r)=0.65β* if 4<r≤9

BidM(r)=0.5β* if 9<r≤14

BidM(r)=0.35β* if 14<r≤21

BidM(r)=0.2β* if 21<r≤32

BidM(r)=0.15β* if 32<r≤60

BidM(r)=0 if 60<r

Thus, if client device 102 is located within a particular distance tothe location of the provider's store, content selection service 104 mayadjust the provider's bid amounts upwards using one of the bid modifierscalculated above.

Referring now to FIG. 2, an illustration is shown of electronic display116 displaying an example first-party webpage 206. Electronic display116 is in electronic communication with processor 112 which causesvisual indicia to be displayed on electronic display 116. As shown,processor 112 may execute a web browser 200 stored in memory 114 ofclient device 102, to display indicia of content received by clientdevice 102 via network 106. In other implementations, anotherapplication executed by client device 102 may incorporate some or all ofthe functionality described with regard to web browser 200 (e.g., avideo game, a chat application, etc.).

Web browser 200 may operate by receiving input of a uniform resourcelocator (URL) via a field 202 from an input device (e.g., a pointingdevice, a keyboard, a touch screen, etc.). For example, the URL,http://www.example.org/weather.html, may be entered into field 202.Processor 112 may use the inputted URL to request data from a contentsource having a network address that corresponds to the entered URL. Inother words, client device 102 may request first-party contentaccessible at the inputted URL. In response to the request, the contentsource may return webpage data and/or other data to client device 102.Web browser 200 may analyze the returned data and cause visual indiciato be displayed by electronic display 116 based on the data.

In general, webpage data may include text, hyperlinks, layoutinformation, and other data that may be used to provide the frameworkfor the visual layout of first-party webpage 206. In someimplementations, webpage data may be one or more files of webpage codewritten in a markup language, such as the hypertext markup language(HTML), extensible HTML (XHTML), extensible markup language (XML), orany other markup language. For example, the webpage data in FIG. 2 mayinclude a file, “weather.html” provided by the website,“www.example.org.” The webpage data may include data that specifieswhere indicia appear on first-party webpage 206, such as text 208. Insome implementations, the webpage data may also include additional URLinformation used by web browser 200 to retrieve additional indiciadisplayed on first-party webpage 206. For example, the file,“weather.html,” may also include one or more instructions used byprocessor 112 to retrieve images 210-216 from their respective contentsources.

Web browser 200 may include a number of navigational controls associatedwith first-party webpage 206. For example, web browser 200 may beconfigured to navigate forward and backwards between webpages inresponse to receiving commands via inputs 204 (e.g., a back button, aforward button, etc.). Web browser 200 may also include one or morescroll bars 220, which can be used to display parts of first-partywebpage 206 that are currently off-screen. For example, first-partywebpage 206 may be formatted to be larger than the screen of electronicdisplay 116. In such a case, the one or more scroll bars 220 may be usedto change the vertical and/or horizontal position of first-party webpage206 on electronic display 116.

First-party webpage 206 may be devoted to one or more topics. Forexample, first-party webpage 206 may be devoted to the local weatherforecast for Freeport, Me. In some implementations, a content selectionserver, such as content selection service 104, may analyze the contentsof first-party webpage 206 to identify one or more topics. For example,content selection service 104 may analyze text 208 and/or images 210-216to identify first-party webpage 206 as being devoted to weatherforecasts. In some implementations, webpage data for first-party webpage206 may include metadata that identifies a topic.

In various implementations, content selection service 104 may selectsome of the content presented on first-party webpage 206 (e.g., anembedded image or video, etc.) or in conjunction with first-partywebpage 206 (e.g., in a pop-up window or tab, etc.). For example,content selection service 104 may select third-party content 218 to beincluded on webpage 206. In some implementations, one or more contenttags may be embedded into the code of webpage 206 that defines a contentfield located at the position of third-party content 218. Anothercontent tag may cause web browser 200 to request additional content fromcontent selection service 104, when first-party webpage 206 is loaded.Such a request may include one or more keywords, a device identifier forclient device 102, or other data used by content selection service 104to select content to be provided to client device 102. In response,content selection service 104 may select third-party content 218 forpresentation on first-party webpage 206.

According to various implementations, one or more content tags includedin the webpage code for webpage 206 may cause web browser 200 to reportlocation information to the content selection service as part of acontent selection request. In some cases, an embedded script on webpage206 may cause web browser 200 to access an application programminginterface (API) of another application that determines the location ofclient device 102. For example, web browser 200 may relay locationinformation to content selection service 104 via an API of a navigationprogram executed by client device 102. In further cases, web browser 200may itself determine the location of client device 102 (e.g., webbrowser 200 may be configured to access location-determining hardware ofclient device 102). In yet another case, the location informationreported by web browser 200 may be a network address or network accesspoint that is used by content selection service 104 to determine alocation of client device 102. For example, content selection service104 may use a received IP address or a known WiFi hotspot to identifythe location of client device 102.

Content selection service 104 may select third-party content 218 (e.g.,an advertisement) by conducting a content auction, in someimplementations. Content selection service 104 may also determine whichthird-party content providers compete in the auction based in part onaccount parameters set by the providers. For example, only contentproviders that specified a topic that matches that of webpage 206, aninterest category of a device identifier accessing webpage 206, or alocation associated with client device 102 may compete in the contentauction. Based on bidding parameters for these third-party contentproviders, content selection service 104 may compare their bid amounts,quality scores, and/or other values to determine the winner of theauction and select third-party content 218 for presentation with webpage206.

According to various implementations, a location associated with clientdevice 102 may be used by content selection service 104 to determinewhich third-party content providers participate in a content auctionand/or to determine the bids of the auction participants. In oneimplementation, a third-party content provider may not even submit anauction bid if the location of client device 102 is outside of aspecified geographic area (e.g., an advertiser may specify that he onlywishes to advertise to devices located in California). In a furtherimplementation, the submitted bid may be a function of a location-basedbid modifier (e.g., a base bid may be adjusted upward if the user islocated in or near the establishment of the content provider). In afurther implementation, a bid modifier may be adjusted based in part ona travel value that defines a relationship between the location ofclient device 102 and a physical establishment of the content provider(e.g., a travel time, a travel distance, etc.). For example, contentselection service 104 may generate a higher bid on behalf of a contentprovider if client device 102 is close to provider's establishment thanif client device 102 is farther away from the establishment. In otherwords, one or more location-based bid modifiers may be used to determinethe auction bid submitted on behalf of a third-party content providerfor the ability to place content in the location of third-party content218.

In the example shown, assume that client device 102 is located severalblocks away from the physical establishment, “The Local Burger Stand,”which is located at 3 Main Street. Also, assume that the proprietor ofthe restaurant has created an account with content selection service 104to advertise the restaurant. As part of the account, the proprietor ofthe restaurant accept a suggested bid modifier value that increases hisauction bids by 50% for client devices that are located within half of amile of the restaurant. The resulting auction bid may then be used bycontent selection service 104 to determine that the proprietor of therestaurant has won the content auction and select third-party content218 (e.g., an advertisement for the restaurant) for presentation onwebpage 206.

In some implementations, content selection service 104 may providethird-party content 218 directly to client device 102. In otherimplementations, content selection service 104 may send a command toclient device 102 that causes client device 102 to retrieve third-partycontent 218. For example, the command may cause client device 102 toretrieve third-party content 218 from a local memory, if third-partycontent 218 is already stored in memory 114, or from a networked contentsource. In this way, any number of different pieces of content may beplaced in the location of third-party content 218 on first-party webpage206. In other words, one user that visits first-party webpage 206 may bepresented with third-party content 218 and a second user that visitsfirst-party webpage 206 may be presented with different content. Otherforms of content (e.g., an image, text, an audio file, a video file,etc.) may be selected by content selection service 104 for display withfirst-party webpage 206 in a manner similar to that of third-partycontent 218. In further implementations, content selected by contentselection service 104 may be displayed outside of first-party webpage206. For example, content selected by content selection service 104 maybe displayed in a separate window or tab of web browser 200, may bepresented via another software application (e.g., a text editor, a mediaplayer, etc.), or may be downloaded to client device 102 for later use.

Referring now to FIG. 3, an illustration is shown of electronic display116 showing first-party search results with third-party content. Similarto webpage 206 in FIG. 2, client device 102 may access a first-partysearch engine via network 106 by executing a web browser 200. In otherimplementations, the search engine may provide search results fordisplay by client device 102 within a stand-alone application. Forexample, a navigation application executed by client device 102 mayinclude a search feature that allows search results from the searchengine to be presented within the application.

As shown, the first-party search engine accessed by client device 102may provide a webpage 300 to client device 102 that is configured toallow for searches and search results to be updated on the fly. Forexample, webpage 300 may include a search field 302 that receives asearch query and webpage 300 may also display search results obtainedusing the query. In other implementations, search field 302 may bedisplayed separately from the search results (e.g., search field 302 andthe search results may appear on different webpages, screens, etc.).Search field 302 is generally configured to receive one or more searchterms to be searched by the search engine. For example, the search term“restaurants” may be entered into search field 302 and used to searchfor links to online resources devoted to restaurants. A search query maybe entered into search field 302 via a touch screen display, keyboard, amicrophone (e.g., via voice recognition), or another user interfacedevice of client device 102.

In response to receiving the search query entered into search field 302,the search engine may retrieve any number of links to websites or otheronline services regarding the query. For example, the search engine mayretrieve the URLs of websites devoted to the topic of restaurants andprovide them as hyperlinks 308, 310 on webpage 300 as search results. Insome implementations, the search engine may maintain an index ofkeywords used on webpages or other resources. Search results may then beordered by the search engine based on the relevancy of the indexedwebpages relative to the search query. A summary of the webpage or otherresource may also be provided on webpage 300 by the search engine. Forexample, hyperlink 310 may have an associated description 312 that givesmore detail about the linked webpage. Since hyperlinks 308, 310 arepresented as search results based solely on their relevancy to thesearch query, they may be considered first-party content.

In addition to webpage 300 including hyperlinks 308, 310 as searchresults, webpage 300 may also include third-party content 304 selectedby content selection service 104. Third-party content 304 may be, in oneexample, a hyperlink 306 to a third-party content provider's website.Third-party content 304 may also identify itself as being third-partycontent, such as including a notification that the hyperlink is a paidlink. Other forms of third-party content that may be presented inconjunction with search results may include a location (e.g., thelocation of the nearest restaurant to client device 102) or links toperform online actions, such as playing a piece of media content.

Content selection service 104 may conduct a content auction to selectthird-party content 304. In response to the search query entered intosearch field 302, content selection service 104 may first determinewhich third-party content providers are to compete in a content auction.For example, only third-party content providers that specify the searchterm “restaurants” may participate in the content auction. Anotherparameter may also be used to control which third-party contentproviders participate in the auction includes the geographic location ofclient device 102. Such a geographic location may correspond to aparticular city, zip code, state, country, or other area. For example, athird-party advertiser located in Great Britain may only be interestedin advertising to client devices located there and not in the UnitedStates of America.

According to various implementations, a location-based bid modifier maybe used by content selection service 104 to generate a content auctionbid on behalf of a third-party content provider. The bid modifier mayadjust a base bid of a third-party content provider up or down based ona travel value that relates the location of client device 102 to aphysical establishment of the content provider. For example, a base bidamount of $1 may be adjusted by +50% (e.g., to a final bid of $1.50) ifclient device 102 is within one mile of the nearest establishment of thethird-party content provider. In another example, the base bid amountmay be adjusted upward if client device 102 is determined to be withinfive minutes travel of the provider's physical establishment. As shown,for example, third-party content 304 may be an advertisement for therestaurant, “The Local Burger Stand” if the bid modifier used by theproprietor of the restaurant and the distance between client device 102and the restaurant are such that the proprietor has won the contentauction.

Referring now to FIG. 4, a flow diagram is shown of one implementationof a process 400 for suggesting a location-based bid modifier. As shown,process 400 includes receiving data indicative of a likelihood of apatron of a physical establishment completing a transaction (step 402),receiving an average transaction amount for the establishment (step404), receiving an expected ROI (step 406), receiving a base auction bidamount (step 408), calculating a content placement cost for an averagetransaction (step 410), determining a location-based auction bidmodifier (step 412), and providing the bid modifier for display (step414). Process 400 may be implemented by one or more computing devices,such as content selection service 104 shown in FIG. 1. In general,process 400 allows a third-party content provider, such as anadvertiser, to determine a location-based bid modifier for use in acontent auction.

Still referring to FIG. 4 and in more detail, process 400 includesreceiving data indicative of a likelihood of a patron of anestablishment completing a transaction at the establishment (step 402).A transaction may be any form of action performed by a visitor to theestablishment that is desired by the third-party content provider. Forexample, a transaction may be, but is not limited to, a patron of theestablishment making a purchase, signing a lease agreement, signing upfor a marketing list, signing up for a membership, voting, donatingblood, or performing any other action that may be desired by thethird-party content provider. For example, an online advertiser mayspecify to a content selection service that, on average, 80% of thevisitors to the advertiser's physical store complete a purchase. Thereceived likelihood may correspond to any time period or multiple timeperiods, in various implementations. For example, the receivedlikelihood of a completed transaction may be an overall average for thecontent provider or for a specific time period. In another example, thelikelihood of a completed transaction at the establishment may be higherduring a holiday or sales event than during other time periods. In sucha case, multiple likelihood values may be received corresponding to thedifferent time periods. In some cases, the received data may include theraw data used by content selection service 104 to calculate thelikelihood value such as the raw number of visitors to the establishmentand the number of completed transactions.

Yet still referring to FIG. 4, process 400 includes receiving dataindicative of an average transaction amount for the establishment (step404). An average transaction amount may be a dollar amount associatedwith a completed transaction or any other amount that quantifies thevalue of a completed transaction to the third-party content provider.For example, a furniture retailer may specify that the averagetransaction amount at her retail location is $2,500 while the proprietorof a hamburger stand may specify that the average transaction amount athis restaurant is $5.

Still referring to FIG. 4, process 400 includes receiving dataindicative of an expected ROI (step 406). In general, the specified ROImay correspond to a difference between an amount spent by a contentprovider to place third-party content and an expected transaction amountthat resulted from the placement. For example, the specified ROI maycorrespond to the following:

${ROI} = \frac{Expected\_ Revenues}{Cost}$

where Expected_Revenues is an expected transaction amount that wouldresult from a placement of third-party content and Cost is the cost ofthe placement. For example, if an advertiser spends $0.50 to place anadvertisement and the advertisement results in a $5 purchase, the ROI ofthe provider is $4.50. In some implementations, the expected transactionamount may be based on an average transaction amount for theestablishment combined with a probability of a patron of theestablishment completing a transaction.

Yet still referring to FIG. 4, process 400 includes receiving dataindicative of a base auction bid amount (step 408). In variousimplementations, the base bid amount may correspond to a bid amount thata content provider is willing to pay to place content on a clientdevice, regardless of the location of the client device. For example, acontent provider may be willing to pay $1 to place an advertisement on amobile device, regardless of the location of the mobile device. Anotherlocation-based content selection parameter may also control whether ornot the base bid amount is even submitted on behalf of a contentprovider. For example, a content provider may set a parameter thatspecifies that advertisements are to be provided to devices located inCalifornia only and a base bid of $1 to advertise to devices inCalifornia, regardless of their proximity to the provider'sestablishment. In one implementation, the base bid amount may take intoaccount other non-location based content selection parameters. Forexample, the base bid amount may correspond to an amount an advertiseris willing to bid if the client device is a mobile device that runs aparticular operating system.

Yet still referring to FIG. 4, process 400 includes calculating acontent placement cost for an average transaction (step 410). In variousimplementations, the content placement cost may correspond to the amountof money that a third-party content provider agrees to pay a contentselection service for the ability to provide the provider's content to aclient device. For example, the content placement cost may be a contentauction bid amount used by the content selection service to select theprovider's content for placement at a client device. In oneimplementation, the content placement cost may be calculated using thedata indicative of the likelihood of a completed transaction, theaverage transaction amount, and the expected ROI received in steps402-406. For example, the content placement cost may be calculated bysolving the following:

${Cost} = \frac{A*p}{ROI}$

where A is the average transaction amount for the content provider'sestablishment, p is the probability of a visitor to the establishmentcompleting a transaction, and ROI is the provider's expected ROI forproviding third-party content via the content selection service.

Still referring to FIG. 4, process 400 includes determining a bidmodifier (step 412). In various implementations, a bid modifier (β) maybe determined using the cost calculated in step 410 as follows:

$\beta = {\frac{Cost}{Bid} - 1}$

where Cost is the ROI-dependent cost and Bid is the base auction bidreceived in step 408. The bid modifier is location-based in that itassumes a 100% probability of the user visiting the physicalestablishment (e.g., the user is already located in or near theestablishment). For example, assume that the average transaction at anestablishment is $5, that 90% of visitors to the establishment completea transaction, that the advertiser has an expected ROI of $4, and thatthe advertiser wishes to place a base bid of $1. In such a case, theactual cost of a content placement to the advertiser is $1.125 and thebid modifier is 0.125 or 12.5%. In other words, the advertiser shouldincrease her base bid by 12.5% (e.g., for a final bid amount of $1.125)to achieve her expected ROI.

Still referring to FIG. 4, process 400 includes providing the bidmodifier for display (step 414). In various implementations the bidmodifier determined in step 412 may be provided to a computing deviceassociated with the third-party content provider. For example, thecontent selection service may suggest that a content provider increasehis or her base bids by 12.5% for certain devices. In oneimplementation, the content selection service may prompt the provider toaccept the bid modifier before using the calculated value. In anotherimplementation, the content selection service may automatically use thebid modifier in future content auctions and provide a notification tothe content provider.

As noted previously, a bid modifier calculated via process 400 maycorrespond to a client device that has a 100% probability of visitingthe physical establishment of the content provider. For example, the bidmodifier determined via process 400 may be used for client devices thatare located in or near the establishment. In some implementations, thebid modifier calculated via process 400 may be adjusted further based ona travel value. For example, one or more bid modifier values may becalculated by multiplying the bid modifier from process 400 by aprobability that a user will visit the provider's establishment. Theprobability of a visit may be a function of the amount of travel time tothe establishment by the device, the distance along a path separatingthe device and the establishment, a direct distance separating theestablishment and the device, or any other travel value that relates thelocation of the device to the location of the establishment. In oneimplementation, the probability of a visit to the establishment may bemodeled using a discrete, exponential decay function. For example, theprobability of a user visiting the physical establishment of athird-party content provider may be treated as 100% within one mile ofthe establishment, 80% if the user is between one mile and five miles ofthe establishment, etc., up to a maximum travel value thresholdspecified by the third-party content provider.

In some cases, a client device may be located within a predefined travelvalue range to multiple establishments of the content provider. In oneimplementation, the content selection service may determine a bidmodifier for each of the establishments within the travel value rangeand select the highest bid modifier for use. For example, assume thatthe client device is located five miles away from the nearest restaurantof the content provider and twenty miles away from the next closestrestaurant of the provider. Also, assume that the content providerspecifies that a typical user is willing to drive up to 50 miles to eatat one of the provider's restaurants. In such a case, the calculated bidmodifier for the closer restaurant may be higher and the selectionservice may use the modifier to generate the finalized auction bid. Inanother implementation, the content selection service may select theestablishment with the lowest travel value for analysis. In yet anotherimplementation, the content selection service may take into accountother factors in the comparison, such as whether the user typicallyvisits one of the two establishments, drives by one of the twoestablishments, etc.

Referring now to FIG. 5, an illustration is shown of the location of aclient device relative to that of a physical establishment, according tovarious implementations. As shown, a client device may be located atlocation 504 and a physical establishment may be located at location502. According to various implementations, the client device located atlocation 504 may report its location to a content selection service aspart of a content selection request. For example, assume that clientdevice 102 shown in FIG. 1 is located at location 504. In such a case,client device 102 may provide data indicative of location 504 to contentselection service 104 as part of a request for third-party content.

According to various implementations, a content selection service maydetermine a travel value using the location data received from theclient device located at location 504. In general, the travel value maybe any value that relates locations 502 and 504. In one implementation,the travel value may be a function of a radius 506 (e.g., a directdistance value) separating locations 502 and 504. In anotherimplementation, the travel value may be a distance along a path 508 thatseparates locations 502 and 504. For example, path 508 may correspond tothe path that the user located at location 504 may actually travel toarrive at the establishment located at location 504. Path 508 may bedetermined as a shortest path or may also take into account otherfactors, such as one-way streets, traffic, and other such factors thatmay affect how a user is likely to travel to location 502. In someimplementations, the content selection service may determine a mode oftransportation for the client device and use this information todetermine path 508. For example, the content selection service maydetermine that the client device is traveling in an automobile based onits velocity and/or location (e.g., in the middle of the street). Otherforms of transportation that may be determined by the content selectionservice may include walking, public transportation (e.g., busses,trains, etc.), or the like.

In some implementations, the travel value determined by the contentselection service may be a travel time relating locations 504 and 502.For example, the content selection service may estimate the amount oftime that it would take an automobile at location 504 to travel alongpath 506 to arrive at the establishment located at location 502. If atemporal travel value is used, the travel value may be based in part ona determined mode of transportation (e.g., walking vs. driving, etc.)and/or other factors that may affect the travel time (e.g., traffic,detours, etc.).

The content selection service may use a travel value that relateslocations 504 and 502 to determine a probability of the user located atlocation 504 visiting the physical establishment located at location 502after viewing third-party content associated with the establishment. Forexample, content selection service 104 shown in FIG. 1 may determine theprobability of the user of client device 102 located at location 504visiting the restaurant at location 502 after viewing an advertisementfor “The Local Burger Stand.” In various implementations, the visitprobability may be modeled as a decay function, such as an exponentialdecay function, a linear decay function, or any other decay function inwhich the probability of a visit decreases as the travel valueincreases. In one implementation, the decay function may also be adiscrete function in which ranges of travel values are assigned the samevisit probability. For example, the visit probability may be 80% if theclient device at location 504 is between ten and twenty miles away fromlocation 502.

According to various implementations, a visit probability determined bya content selection service may be used by the service to determine abid modifier. For example, assume that the service has calculated a bidmodifier of +20%, assuming that the client device is located at location504 (e.g., the user is already in the establishment). Thus, thecalculated bid modifier may be at a maximum since there is a 100%probability of the user visiting the establishment. However, if thelocation of the client device does not match that of the physicalestablishment of the content provider, or is outside of a certain range,the content selection service may adjust the bid modifier using thevisit probability. For example, assume that the travel distance alongpath 508 is 0.75 miles and that the associated probability of a visit atthis distance is 85%. In such a case, the content selection service mayadjust the maximum bid modifier downward to reflect the lowerprobability of a visit. For example, the overall bid modifier may be85%*+20%=+14.45%, which may be used by the service to increase the basebid of the content provider associated with the establishment atlocation 502.

Referring now to FIG. 6, an illustration is shown of one implementationof an electronic display presenting a suggested bid modifier. As shown,an interface screen 600 may prompt a user associated with a third-partycontent provider for certain information used to determine a suggestedbid modifier. In one implementation 600 may be used to modify an accountof the third-party content provider with a content selection service.

Interface screen 600 may include one or more inputs 602 for the locationor locations of the content provider's physical establishments. Forexample, “The Local Burger Stand” may be located at 3 Main Street,Anywhere U.S.A. In other implementations, interface screen 600 mayemploy other input mechanism to receive multiple locations. For example,interface screen 600 may include multiple input boxes, a selectable map,a mechanism to upload a file (e.g., a text file, spreadsheet, or otherfile containing establishment locations), or other inputs to enter thelocations of a content provider's physical establishments.

Interface screen 600 may include an input 612 configured to receive amaximum travel value. In some implementations, interface screen 600 mayalso include an input 614 configured to receive a travel value type, ifthe content selection service supports multiple travel values. Forexample, the third-party content provider may specify via inputs 612,614 that a typical user is willing to travel up to ten miles to theprovider's physical establishment located at 3 Main Street. Otherexample travel value types that may be selected via input 614 mayinclude, but are not limited to, direct distances, distances along atravel path, travel times, or the like. In various implementations, thecontent selection service may use the inputs received via inputs 602,612, and 614 to model a probability of a user visiting the locationspecified via input 602. For example, the travel value received viainput 612 may be associated with a minimum visit probability, thelocation received via input 602 may be associated with a maximum visitprobability, and one or more probabilities there between may be modeledas a function of the travel value.

Interface screen 600 may include various inputs 604-610 that requestinformation regarding the business of the third-party content provider.In one implementation, input 604 may be configured to request an averagetransaction amount at the physical establishment specified via input602. Input 606 may be configured to receive a value that represents thelikelihood of a visitor to the establishment completing a transaction(e.g., a probability or other value). Input 608 may be configured toreceive a base bid amount that the third-party content provider wishesto use for devices located outside of the maximum travel value specifiedvia input 612. Input 610 may be configured to receive an expected ROI ofthe third-party content provider that would result from the placement ofthe provider's third-party content.

Interface screen 600 may include an input 618 configured to cause thecontent selection service to calculate one or more bid modifiers, whenselected. For example, interface screen 600 may display a set 620 of oneor more bid modifiers that are based in part on the data received viainputs 604-610. In some implementations, the content selection servicemay use a visit probability function to determine multiple bid modifiervalues. For example, a discrete visit probability model may haveprobabilities corresponding to different distance ranges in set 622shown on interface screen 600. The visit probabilities associated withthe different travel ranges in set 622 may be used to determine overallbid modifiers 624-634 that are functions of the travel distances. Forexample, bid modifier 624 may correspond to the maximum visitprobability (e.g., the user may be the most likely to visit theestablishment when located within a mile of the establishment).Similarly, bid modifier 634 may indicate that the base bid amountspecified via input 608 is suggested for use when the client device islocated more than ten miles from the physical establishment. Forexample, the content provider may still wish to advertise to userslocated outside of the maximum travel distance, but only use a base bidamount since the advertisement is unlikely to prompt the user to visitthe establishment immediately. In between bid modifiers 624 and 634 maybe any number of other bid modifiers that represent a sliding scale ofvisit probabilities that vary with the travel distance. For example, bidmodifier 626 may correspond to an 80% visit probability while bidmodifier 632 may correspond to a 10% visit probability.

Bid modifiers 624-634 may be processed in a number of ways by thecontent selection service. In one implementation, the content selectionservice may automatically apply bid modifiers 624-634 to the entireaccount of the content provider, a campaign of the content provider, acontent group (e.g., one or more pieces of third-party content) of thecontent provider, or to a specific piece of third-party content of theprovider. In another implementation, the content selection service mayallow the third-party content provider to confirm the use of one or moreof bid modifiers 624-634. For example, the content provider may elect touse bid modifier 624 when the client device is located within one mileof the provider's establishment, but may elect not to use bid modifiers626-630 at all. In yet another implementation, only bid modifier 624 maybe presented to the third-party content provider and interface screen600 may indicate that the bid modifier will be adjusted downward as thetravel value increases.

Implementations of the subject matter and the operations described inthis specification can be implemented in digital electronic circuitry,or in computer software, firmware, or hardware, including the structuresdisclosed in this specification and their structural equivalents, or incombinations of one or more of them. Implementations of the subjectmatter described in this specification can be implemented as one or morecomputer programs, i.e., one or more modules of computer programinstructions, encoded on one or more computer storage medium forexecution by, or to control the operation of, data processing apparatus.Alternatively or in addition, the program instructions can be encoded onan artificially-generated propagated signal, e.g., a machine-generatedelectrical, optical, or electromagnetic signal, that is generated toencode information for transmission to suitable receiver apparatus forexecution by a data processing apparatus. A computer storage medium canbe, or be included in, a computer-readable storage device, acomputer-readable storage substrate, a random or serial access memoryarray or device, or a combination of one or more of them. Moreover,while a computer storage medium is not a propagated signal, a computerstorage medium can be a source or destination of computer programinstructions encoded in an artificially-generated propagated signal. Thecomputer storage medium can also be, or be included in, one or moreseparate components or media (e.g., multiple CDs, disks, or otherstorage devices). Accordingly, the computer storage medium may betangible.

The operations described in this specification can be implemented asoperations performed by a data processing apparatus on data stored onone or more computer-readable storage devices or received from othersources.

The term “client or “server” include all kinds of apparatus, devices,and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing. The apparatus can includespecial purpose logic circuitry, e.g., an FPGA (field programmable gatearray) or an ASIC (application-specific integrated circuit). Theapparatus can also include, in addition to hardware, code that createsan execution environment for the computer program in question, e.g.,code that constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, a cross-platform runtimeenvironment, a virtual machine, or a combination of one or more of them.The apparatus and execution environment can realize various differentcomputing model infrastructures, such as web services, distributedcomputing and grid computing infrastructures.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (e.g., one or more scripts stored in a markup languagedocument), in a single file dedicated to the program in question, or inmultiple coordinated files (e.g., files that store one or more modules,sub-programs, or portions of code). A computer program can be deployedto be executed on one computer or on multiple computers that are locatedat one site or distributed across multiple sites and interconnected by acommunication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform actions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data, e.g., magnetic, magneto-optical disks, or optical disks.However, a computer need not have such devices. Moreover, a computer canbe embedded in another device, e.g., a mobile telephone, a personaldigital assistant (PDA), a mobile audio or video player, a game console,a Global Positioning System (GPS) receiver, or a portable storage device(e.g., a universal serial bus (USB) flash drive), to name just a few.Devices suitable for storing computer program instructions and datainclude all forms of non-volatile memory, media and memory devices,including by way of example semiconductor memory devices, e.g., EPROM,EEPROM, and flash memory devices; magnetic disks, e.g., internal harddisks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROMdisks. The processor and the memory can be supplemented by, orincorporated in, special purpose logic circuitry.

To provide for interaction with a user, implementations of the subjectmatter described in this specification can be implemented on a computerhaving a display device, e.g., a CRT (cathode ray tube), LCD (liquidcrystal display), OLED (organic light emitting diode), TFT (thin-filmtransistor), plasma, other flexible configuration, or any other monitorfor displaying information to the user and a keyboard, a pointingdevice, e.g., a mouse, trackball, etc., or a touch screen, touch pad,etc., by which the user can provide input to the computer. Other kindsof devices can be used to provide for interaction with a user as well;for example, feedback provided to the user can be any form of sensoryfeedback, e.g., visual feedback, auditory feedback, or tactile feedback;and input from the user can be received in any form, including acoustic,speech, or tactile input. In addition, a computer can interact with auser by sending documents to and receiving documents from a device thatis used by the user; for example, by sending webpages to a web browseron a user's client device in response to requests received from the webbrowser.

Implementations of the subject matter described in this specificationcan be implemented in a computing system that includes a back-endcomponent, e.g., as a data server, or that includes a middlewarecomponent, e.g., an application server, or that includes a front-endcomponent, e.g., a client computer having a graphical user interface ora Web browser through which a user can interact with an implementationof the subject matter described in this specification, or anycombination of one or more such back-end, middleware, or front-endcomponents. The components of the system can be interconnected by anyform or medium of digital data communication, e.g., a communicationnetwork. Examples of communication networks include a local area network(“LAN”) and a wide area network (“WAN”), an inter-network (e.g., theInternet), and peer-to-peer networks (e.g., ad hoc peer-to-peernetworks).

The features disclosed herein may be implemented on a smart televisionmodule (or connected television module, hybrid television module, etc.),which may include a processing circuit configured to integrate Internetconnectivity with more traditional television programming sources (e.g.,received via cable, satellite, over-the-air, or other signals). Thesmart television module may be physically incorporated into a televisionset or may include a separate device such as a set-top box, Blu-ray orother digital media player, game console, hotel television system, andother companion device. A smart television module may be configured toallow viewers to search and find videos, movies, photos and othercontent on the web, on a local cable TV channel, on a satellite TVchannel, or stored on a local hard drive. A set-top box (STB) or set-topunit (STU) may include an information appliance device that may containa tuner and connect to a television set and an external source ofsignal, turning the signal into content which is then displayed on thetelevision screen or other display device. A smart television module maybe configured to provide a home screen or top level screen includingicons for a plurality of different applications, such as a web browserand a plurality of streaming media services, a connected cable orsatellite media source, other web “channels”, etc. The smart televisionmodule may further be configured to provide an electronic programmingguide to the user. A companion application to the smart televisionmodule may be operable on a mobile computing device to provideadditional information about available programs to a user, to allow theuser to control the smart television module, etc. In furtherimplementations, the features may be implemented on a laptop computer orother personal computer, a smartphone, other mobile phone, handheldcomputer, a tablet PC, or other computing device.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anyinventions or of what may be claimed, but rather as descriptions offeatures specific to particular implementations of particularinventions. Certain features that are described in this specification inthe context of separate implementations can also be implemented incombination in a single implementation. Conversely, various featuresthat are described in the context of a single implementation can also beimplemented in multiple implementations separately or in any suitablesubcombination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination can in some cases be excisedfrom the combination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemscan generally be integrated together in a single software product orpackaged into multiple software products.

Thus, particular implementations of the subject matter have beendescribed. Other implementations are within the scope of the followingclaims. In some cases, the actions recited in the claims can beperformed in a different order and still achieve desirable results. Inaddition, the processes depicted in the accompanying figures do notnecessarily require the particular order shown, or sequential order, toachieve desirable results. In certain implementations, multitasking orparallel processing may be utilized.

What is claimed is: 1.-20. (canceled)
 21. A system for dynamiclocation-based selection of online content, comprising: one or moreservers comprising memory and one or more processors to: receive, via amessenger program, text input from a user of a client device; determine,responsive to the text input and based on a location of the clientdevice and a function, a probability the user of the client devicevisits a physical establishment; determine to execute a contentselection process to select online content for presentation via themessenger program; generate a bid modifier based on the probability thatthe user of the client device visits the physical establishment, anaverage transaction amount for the physical establishment, and a basebid amount established by a content provider; select, via the contentselection process based on the bid modifier, an online content item forthe physical establishment; and provide, via a network to the clientdevice for presentation via the messenger program, the online contentitem selected based on the bid modifier.
 22. The system of claim 21,comprising: the one or more processors to receive, via the messengerprogram, the text input via voice input detected by a microphone of theclient device.
 23. The system of claim 21, comprising; generate the bidmodifier based on a first product of the probability that the clientdevice visits the physical establishment and the average transactionamount for the physical establishment divided by a second product of anexpected amount for one or more transactions made at the physicalestablishment that resulted from placement of third-party content andthe base bid amount established by the content provider.
 24. The systemof claim 21, comprising: the one or more processors to provide a socialnetworking application.
 25. The system of claim 24, comprising: the oneor more processors to provide the messenger program via a web pagerendered on the client device.
 26. The system of claim 21, wherein theclient device comprises a digital assistant.
 27. The system of claim 21,comprising: the one or more processors to determine, based on thelocation of the client device, a travel value for the physicalestablishment that indicates a spatio-temporal relationship between thelocation of the client device and the physical establishment of athird-party content provider.
 28. The system of claim 27, wherein thetravel value comprises at least one of: a radius around the physicalestablishment; a travel time to the physical establishment; or adistance along a path to the physical establishment.
 29. The system ofclaim 21, wherein the function comprises an exponential decay function.30. The system of claim 21, comprising: the one or more processors todetermine the location of the client device using location informationrelayed via an application programming interface of a navigation programexecuted by the client device.
 31. A method for dynamic location-basedselection of online content, comprising: receiving, by one or moreservers comprising memory and one or more processors, via a chatapplication, text input from a user of a client device; identifying, bythe one or more processors responsive to the text input, a location ofthe client device; determining, by the one or more processors, based onthe location of the client device and a function, a probability the userof the client device visits a physical establishment; determining, bythe one or more processors, to execute a content selection process toselect online content for presentation via the chat application;generating, by the one or more processors, a bid modifier based on theprobability that the user of the client device visits the physicalestablishment, an average transaction amount for the physicalestablishment, and a base bid amount established by a content provider;selecting, by the one or more processors, via the content selectionprocess based on the bid modifier, an online content item for thephysical establishment; and providing, by the one or more processors viaa network to the client device for presentation via the chatapplication, the online content item selected based on the bid modifier.32. The method of claim 31, comprising: receiving, by the one or moreprocessors via the chat application, the text input via voice inputdetected by a microphone of the client device.
 33. The method of claim31, comprising; generating, by the one or more processors, the bidmodifier based on a first product of the probability that the clientdevice visits the physical establishment and the average transactionamount for the physical establishment divided by a second product of anexpected amount for one or more transactions made at the physicalestablishment that resulted from placement of third-party content andthe base bid amount established by the content provider.
 34. The methodof claim 31, comprising: providing, by the one or more processors, asocial networking application.
 35. The method of claim 34, comprising:providing, by the one or more processors, the chat application via a webpage rendered on the client device.
 36. The method of claim 31, whereinthe client device comprises a digital assistant.
 37. The method of claim31, comprising: the one or more processors to determine, based on thelocation of the client device, a travel value for the physicalestablishment that indicates a spatio-temporal relationship between thelocation of the client device and the physical establishment of athird-party content provider.
 38. The method of claim 37, wherein thetravel value comprises at least one of: a radius around the physicalestablishment; a travel time to the physical establishment; or adistance along a path to the physical establishment.
 39. The method ofclaim 31, wherein the function comprises an exponential decay function.40. The method of claim 31, comprising: determining, by the one or moreprocessors, the location of the client device using location informationrelayed via an application programming interface of a navigation programexecuted by the client device.